# Title: Euclid                		        	Filename: Euclid.s
# Author: Rios Oropeza Edgar Alejandro		    Date: 14 / Marzo / 2017
# Description: Algorítmo para máximo comun divisor
# Input: -
# Output: maximo comun divisor
 
 @ r1 ESPERANDO EL PRIMER NUMERO
 @ r0 ESPERA EL SEGUNDO NUMERO

 ##### Code Segment ###################################################
 .section       .data
 vals:
     .long 6099, 2166
.section        .text

.globl  _start

_start:
	ldr r2, =vals                @ PREPARA R1 PARA INICIAR EN LA VARIABLE
	ldr r1, [r2]                 @ CARGA EL PRIMER NUMERO EN R2 
	ldr r0, [r2, #4]             @ CARGA EL SEGUNDO NUMERO EN R0
   
###### Data Segment ##################################################
gcd:
	cmp r0, r1                   @ COMPARA r0 y r1 
	subgt r0, r0, r1             @ SI r0 > r1, r0 = r0 - r1
	sublt r1, r1, r0             @ SI r0 < r1, r1 = r1 - r0
	bne gcd                      @ SI r0 != r1, SE REPITE

	mov r7, $1                   @ PREPARA LA SALIDA
	svc $0                       @ SE ACTIVA EL KERNEL
   
.end
